"""
每个编程语言中都会有 异常处理机制
这是肯定的，因为只要你写代码，肯定会有bug，也肯定会有使用不规范/不正确的地方。
那么，什么是异常？
异常就是 触发了之后如果不处理， 程序就没办法继续运行下去，乃至程序崩溃
爆出异常的时候，往往携带很多信息输出：报错原因、报错文件、报错行数
所以我们开发者就可以根据异常信息来定位程序出现的问题，并将其处理
"""

"""
如何处理异常
想要知道如何处理异常，首先我们得知道如何快速引发一个常见的异常
比如： int('a')
我们字符串在转化成整型的时候，如果转化后的不是一个正常的数字，那么就会报错
所以我们可以直接输入 int('a') 然后运行
不出意外，你可以看到如下异常：
Traceback (most recent call last):
  File "C:\\Users\\xx\Desktop\python基础\test.py", line 1, in <module>
    int('a')
ValueError: invalid literal for int() with base 10: 'a'
"""

"""
那么，我们要如何处理异常呢？
首先我们明确一点，发生异常时，肯定是 出乎意料的
也就是说，发生异常的代码，有极小的概率是会触发这个异常的，反过来意思就是 在大部分运行时间内，它是正常的
所以我们要做的是 当异常发生的时候，我们要捕捉它；当异常没有发生的时候，我们就当作什么都不知道
"""

def maybeError(value):
    try:
        p = int(value)
        print(p)
    except:
        print(f"哎呀报错啦，你这个值 {value} 不太对劲哦")


maybeError('1')
maybeError('a')

# 结果：
# 1
# 哎呀报错啦，你这个值 a 不太对劲哦